// 与app通讯的方法
import webBridge from './webBridge';

const userAgent = navigator.userAgent;

// 判断是否是ios
export const isIOS = /(iPhone|iPad|iPod|iOS)/i.test(userAgent);

// toast 提示
export const AppToast = (data: { type: 0 | 1 | 2; message: string }) => {
  //type  0 1 2   0 error  1 success  2 warn
  if (isIOS) {
    webBridge.callHandler('toast', data);
  } else {
    if (window.android) {
      try {
        window.android.toast(JSON.stringify(data));
      } catch (err) {
        console.log('err-toast', err);
      }
    }
  }
};

//审批后控制app刷新列表数据
export const AppRefresh = () => {
  if (isIOS) {
    webBridge.callHandler('refresh', '');
  } else {
    if (window.android) {
      try {
        window.android.refresh();
      } catch (err) {
        console.log('err-refresh', err);
      }
    }
  }
};
//App 的返回操作， 会销毁h5
export const AppPopBack = () => {
  if (isIOS) {
    webBridge.callHandler('popBack', '');
  } else {
    if (window.android) {
      try {
        window.android.finish();
      } catch (err) {
        console.log('err-finish', err);
      }
    }
  }
};

//获取客户端用户token
export const GetAppToken = (callback: (param: any) => void) => {
  if (isIOS) {
    webBridge.callHandler('getToken', 'token', (data?: string) => {
      callback(data);
    });
  } else {
    if (window.android) {
      try {
        const userToken = window.android.getToken();
        callback(userToken);
      } catch (err) {
        console.log('err-token', err);
      }
    }
  }
};
// 通知app当前数据已加载完成
export const AppLoadFish = () => {
  if (isIOS) {
    webBridge.callHandler('loadFinish', '', () => {
      //
    });
  } else {
    if (window.android) {
      try {
        window.android.loadFinish();
      } catch (err) {
        console.log('err-loadFinish', err);
      }
    }
  }
};
